Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.04.2017, 20:03
Интересующийся
Отправить личное сообщение для greengo86 Посмотреть профиль Найти все сообщения от greengo86
 
Регистрация: 09.09.2016
Сообщений: 19

AJAX в AJAX'е
Ребят, друзья, камрады... Никак не могу разобраться уже очч много времени - пишу на фреймворке yii2... Использую расширениеtabx:
echo TabsX::widget([
            'items'=>$opt,
            'position'=>TabsX::POS_ABOVE,
            'align'=>TabsX::ALIGN_CENTER,
            'encodeLabels'=>false
        ]);

Всё - супер, всё работает всё ходит и передаётся... Здесь я ренедерю(если кто в курсе о чём я) вид champ -
$html = $this->renderAjax('champ', [
            'main_page' => 0,
            'id' => $id,
            'play' => $play,
        ]);
        return Json::encode($html);

И вот в этом виде имеется информация:
<div class="col-md-12 text-center">
            <a class="show-last" href="<?php echo Url::to(['play/match', 'id' => $play[$k]['id']]) ?>"
               data-id="<?= $play[$k]['id'] ?>"><i class="glyphicon glyphicon-stats"></i>Статистика матча</a>
            <br>
            <hr class="style1">
        </div>

Здесь по клике на ссылочке с к классом .show-last я обрабатываю некоторую информацию:
$('.show-last').on('click', function(e){
        e.preventDefault();
        var id = $(this).data('id');
        $.ajax({
            url: '/play/match',
            data: {id: id},
            type: 'GET',
            success: function(res){
                // console.log(res);
                showStat(res);
            },
            error: function(){
                alert('Ошибка выдачи подробной статистики матча');
            }
        });
    });

И если всё хорошо - выполняю showStat():
function showStat(match){
        $('#match .modal-body').html(match);
        $('#match').modal();
    }

А в layout'е указано то модальное окно:
<?php
    Modal::begin([
        'header' => '<h3 class="text-center">Подробная статистика<h3>',
        'size' => 'modal-lg',
        'id' => 'match',
        'footer' => '<button type="button" class="btn btn-danger" data-dismiss="modal">Закрыть</button>'
    ]);
    Modal::end();
?>

И вот кликая на ту самую ссылку у меня происходит переход по ссылке, что указана 'play/match', хотя это отключено - e.preventDefault(); Здесь я ожидаю модальное окно с передачей данных по Ajax, но нет - меня просто перебрасывает на роут - 'play/match'. Уже всё перепробовал - на той же самой страничке, вне области где загружается первые данные c Ajax модальное окно работает... А вот в той области и именно где нужно ничего не работает
Ответить с цитированием
  #2 (permalink)  
Старый 03.05.2017, 20:29
Интересующийся
Отправить личное сообщение для greengo86 Посмотреть профиль Найти все сообщения от greengo86
 
Регистрация: 09.09.2016
Сообщений: 19

Вообщем докопался до истины в чём именно проблема... А вот как теперь это решить... К проекту yii2 подключены, кроме всего прочего 2 скрипта:
owl.carousel.min.js - скрипт для красивого и плавного перелистывания страничек в таблице
И
owl.carousel.js - скрипт от плагина карусель слайдер OwlCarousel2
При подключении второго перестал работать первый, а точнее за то, что он отвечает. После чего я в первом скрипте переименовал метод owlCarousel(который тоже встречается во втором скрипте ) в owlCarouselTable и всё вроде бы заработало как надо. Как представлялось на тот момент! А сейчас же на той страничке, где подключены оба эти скрипта не работает модальное окно бутстрапа...
Отключаю owl.carousel.js - модальное окно отрабатывает как нужно! Ну и естесственно слайдер для которого он создан не работает!
Отключаю owl.carousel.min.js - работает слайдер! Не работает перелистывание страничек таблицы, модальное окно открывается и тут же закрывается...

Как мне быть то теперь ? Как бы хотелось бы и то и другое и третье.
Оба скрипта прикрепил на всякий случай!
Вложения:
Тип файла: txt owlCarousel.min.txt (23.3 Кб, 1 просмотров)
Тип файла: txt owlCarousel.txt (83.4 Кб, 0 просмотров)

Последний раз редактировалось greengo86, 03.05.2017 в 20:29. Причина: Раставил нормально пробелы
Ответить с цитированием
  #3 (permalink)  
Старый 03.05.2017, 21:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

owl.carousel.js и owl.carousel.min.js, это один и тот же код плагина слайдера, отличие второго от первого только в том, что он сжат. Дважды подключать одно и тоже не нужно.
Ответить с цитированием
  #4 (permalink)  
Старый 04.05.2017, 21:28
Интересующийся
Отправить личное сообщение для greengo86 Посмотреть профиль Найти все сообщения от greengo86
 
Регистрация: 09.09.2016
Сообщений: 19

Сообщение от laimas
owl.carousel.js и owl.carousel.min.js, это один и тот же код плагина слайдера, отличие второго от первого только в том, что он сжат. Дважды подключать одно и тоже не нужно.
Нееет, эти файлы взяты от разных плагинов! А взял я один .min, а другой не сжатый для того, чтобы не запутаться...
Ответить с цитированием
  #5 (permalink)  
Старый 05.05.2017, 04:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от greengo86
Нееет, эти файлы взяты от разных плагинов! А взял я один .min, а другой не сжатый для того, чтобы не запутаться
Просто офигеть! Я знаю один единственный owl.carousel, клоны по его имени не встречались, так что "чтобы не запутаться" явно не прокатывает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка формы после ajax проверки ShutTap Общие вопросы Javascript 15 08.04.2016 11:46
Объект ajax и приостановка функции kilohertz_. AJAX и COMET 5 18.01.2015 16:33
Проблема с AJAX Dim@ AJAX и COMET 4 16.09.2012 22:52
Ajax таблица gofkane Работа 1 26.09.2011 18:26
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57